home *** CD-ROM | disk | FTP | other *** search
/ WOW! 2 / WOW - Vol 2.iso / pd_share / system / shbuf10 / shbuf.ger next >
Text File  |  1992-07-23  |  5KB  |  102 lines

  1. PROGRAMM
  2.      SHBUFnn v1.0 [17.7.1992] - 
  3.      Patchprogramm zum Vergrößern der Puffer, die das GEM zur
  4.      Verwaltung der NEWDESK.INF Datei benötigt
  5.  
  6. BESCHREIBUNG
  7.      Das GEM und das zugehörige Desktop erlauben es ihre Konfiguration
  8.      in der Datei NEWDESK.INF (ehemals DESKTOP.INF) zu sichern. Beim
  9.      Neustart wird diese Datei geladen und ausgewertet. Zur internen
  10.      Verwaltung der Datei benutzt das GEM statische Puffer, deren
  11.      Größe mit der gewachsenen Leistungsfähigkeit des Desktops (ab 
  12.      GEM 3.0) nicht mitgehalten hat. So kann es leicht passieren, daß
  13.      man beim Start eines Programms die folgende Meldung erhält:
  14.        'Kein Systemspeicher mehr frei!'
  15.      SHBUF erlaubt es die entsprechenden Puffer des GEM von bisher 4KB
  16.      auf maximal 32KB zu vergrößern. Hierzu ist allerdings ein
  17.      Eingriff in den Programmcode des GEM notwendig. Dieser kann auf
  18.      zweierlei Weise erfolgen:
  19.  
  20.      a) Man installiert beim Booten des Rechners eine Kopie des GEM
  21.         im RAM, die dann vor dem Start des GEM durch SHBUF modifiziert
  22.         wird. Dies ist mit einem der folgenden Programme möglich:
  23.  
  24.         ROMRAM   TOS Beschleuniger für TTs, >256 KB,
  25.                  Mailbox Maus HH2, Freeware, A. Herzlinger, PTOS
  26.         VRAM     Virtuelle Speicherverwaltung für TTs, >256 KB,
  27.                  OverScan GbR, Berlin, Alexander Herzlinger, VRAM
  28.         ROMSPEED TOS Beschleuniger für TTs (Bestandteil von OUTSIDE
  29.                  einer virtuelle Speicherverwaltung für TTs), >256 KB,
  30.                  MAXON Verlag, Uwe Seimet, USRS
  31.         GEMRAM   GEM im RAM installieren (STs und TTs), 80-120 KB,
  32.                  Mailbox Maus MZ, Freeware, Martin Osieka, MOGR
  33.         (Beschreibung, Speicherbedarf, Bezugsquelle, Autor, Cookie)
  34.  
  35.         SHBUF gehört in diesem Fall nach diesen Programmen in den
  36.         Ordner \AUTO auf dem Bootlaufwerk und wird somit beim Booten
  37.         automatisch gestartet.
  38.         Die Programme werden nur erkannt, wenn sie das entsprechende
  39.         Cookie im Cookiejar eingetragen haben.
  40.         
  41.      b) Man benutzt SHBUF um sich eine modifizierte Kopie des TOS
  42.         zu erstellen, die anschließend auf Eproms gebrannt und in den
  43.         Rechner eingesetzt wird. Hierzu ruft man SHBUF vom Desktop
  44.         auf und erhält dann die Möglichkeit, das TOS aus den ROMs oder
  45.         einer bereits bestehenden TOS-Datei von Disk zu laden. Nachdem
  46.         SHBUF das TOS modifiziert hat, kann es abgespeichert werden.
  47.         
  48.      Standardmäßig vergrößert SHBUF die Puffer auf 16KB. Da zwei
  49.      Puffer beim Start des GEM angelegt werden, verliert man 32KB
  50.      Hauptspeicher (die anderen Puffer existieren nur temporär).
  51.      Durch Umbennen des Programms kann man diese Werte ändern. Hierzu
  52.      gibt man einfach die gewünschte Größe in KB nach dem Namen an.
  53.      Benennt man SHBUF.PRG z.B. nach SHBUF9.PRG um, werden 9KB große
  54.      Puffer angelegt und man verliert 18KB Speicher. 
  55.  
  56.      SHBUF unterstützt die folgenden GEM Versionen:
  57.      3.0 (TOS 3.01), 3.1 (TOS 2.05/3.05), 3.2 (TOS 2.06/3.06)
  58.  
  59. HINWEISE FÜR PROGRAMMIERER
  60.      Die Funktion shel_get() des GEM wurde so modifiziert, daß andere
  61.      Programme die Größe der Puffer ermitteln können. Die Funktion
  62.      liefert jetzt statt dem Returnwert 1 die Anzahl der gelesenen
  63.      Zeichen (maximal die Größe des Puffers). Diese Änderung 
  64.      entspricht vermutlich zukünftigen GEM-Versionen. Ein einfaches
  65.      Beispiel in C zeigt den Umgang mit der neuen Funktionalität:
  66.      
  67.        if ((buf = Malloc( 0x7FFFL)) != NULL) {
  68.          if (shel_get( buf, 2) == 2) {
  69.            bufsize = shel_get( buf, 0x7FFF);
  70.          }
  71.          else {
  72.            bufsize = 0x1060;  /* bzw. 0x400 bei GEM 1.2 */
  73.            shel_get( buf, bufsize);
  74.          };
  75.          Mshrink( buf, bufsize);
  76.        };
  77.  
  78.      Man kann jetzt die Größe des Shell-Puffers mit 
  79.        bufsize = shel_get( buf, -1);
  80.      erfragen. Problematisch ist dieser Aufruf bei bisherigen TOS-
  81.      Versionen, da dort 64KB kopiert werden.
  82.        
  83.      Das tatsächliche Ende der Daten im Puffer erkennt man übrigens
  84.      am Zeichen CTRL-Z bzw. 0.
  85.  
  86. VEKTOREN, COOKIES, ETC.
  87.      Die Patches integrieren sich in den bestehenden Programmcode
  88.      des GEM und ändern daher keine Vektoren.
  89.  
  90. AUTOR
  91.      (\/) Martin Osieka
  92.      Anschrift: Martin Osieka, Erbacherstr. 2, D-6100 Darmstadt
  93.      Internet: Martin_Osieka@mz.maus.de
  94.  
  95. COPYRIGHT & HAFTUNG
  96.      Das Programm SHBUF.PRG darf auf beliebige Art und Weise weiter-
  97.      verbreitet werden, solange alle Dateien des Programmpakets
  98.      beiliegen. Zum Paket gehören:
  99.        SHBUF.PRG              Patchprogramm
  100.        SHBUF.GER, SHBUF.UPL   Dokumentation und Upload-Beschreibung
  101.      Die Benutzung des Programms erfolgt auf eigene Gefahr.
  102.